#ifndef DATABASE_H
#define DATABASE_H

#include <QtSql>
#include <QDebug>
#include <QString>

// 数据库操作类，采用单例模式
class Database {
public:
    // 获取单例实例的静态方法，保证整个程序中只有一个 Database 实例
    static Database& getInstance();

    // 创建数据库连接并创建数据表
    bool createConnection();

    //插入数据
    void insertUserInfoData(const QString& userName, const QString& password);

    //更新数据
    void updateUserInfoData(int id, const QString& userName, const QString& password);

    //删除数据
    void deleteUserInfoData(int id);

    //查询数据
    void queryUserInfoData();

private:
    //私有构造函数，防止外部实例化，确保单例模式
    Database();

    //析构函数，关闭数据库连接
    ~Database();

    //禁用拷贝构造函数，防止通过拷贝创建新的实例
    Database(const Database&) = delete;

    //禁用赋值运算符，防止通过赋值创建新的实例
    Database& operator=(const Database&) = delete;

    //数据库对象，用于与数据库进行交互
    QSqlDatabase db;
};

#endif // DATABASE_H
